import java.util.Arrays;

public class StringSort {
    public static void main(String[] args) {
        String numStr = "20 78 9 -7 88 36 29";
        System.out.println(numStr);
        System.out.println(sortStringNumber(numStr).toString());
    }
    private static String sortStringNumber(String numStr) {
        // 1、将字符串变成字符串数组
        String [] str_arr = stringToArray(numStr);
        // 2、将字符串数组变成int数组
        int [] num_arr = toIntArray(str_arr);
        // 3、对int数组进行排序
        mySortArray(num_arr);
        // 4、将排好序的int数组转换成字符串
        String temp = arrayToString(num_arr);
        return temp;
    }
    private static String arrayToString(int[] num_arr) {
        StringBuffer sb = new StringBuffer();
        for (int x = 0; x < num_arr.length; x++) {
            if(x!=num_arr.length-1){
                sb.append(num_arr[x]+" ");
            }else {
                sb.append(num_arr[x]);
            }
        }
        return sb.toString();
    }
    private static void mySortArray(int[] num_arr) {
        Arrays.sort(num_arr);
    }
    private static int[] toIntArray(String[] str_arr) {   // 2、将字符串数组变成int数组
        int arr [] = new int[str_arr.length];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = Integer.parseInt(str_arr[i]);
        }
        return arr;
    }
    private static String[] stringToArray(String numStr) {
        String [] str_arr = numStr.split(" "); //将一个字符串分割成字符串数组
        return str_arr;
    }
}
